//通过播放器实例的on方法订阅事件,播放器事件文档：https://help.aliyun.com/document_detail/125572.html#section-d6l-d84-gwa

import {watch} from 'vue'
//需要绑定的事件列表,需要添加到VUE的emits列表中
const event_list = ['ready', 'play', 'pause', 'canplay', 'playing', 'ended', 'waiting']
export default function bind_event(player, context) {

    //event_list列表中的事件都会绑定该函数，该函数将事件转发给使用者并且传入了事件对象
    const event_bind_func = (event) => {
        //将事件提交给使用者
        context.emit(event.type, event)
    }
    watch(player, () => {
        if (player) {
            for (const event_name of event_list) {
                player.value.on(event_name, event_bind_func)
            }

        }

    })
    return {
        event_list
    }
}
export {event_list}